﻿using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Reflection;
using System.Resources;
using System.Runtime.Serialization;

namespace KPIS.GERP.Models.ICM
{
	[DataContract, Table("IcmMasLookUpType")]
	public class IcmMasLookUpType
	{
		public enum LookUpType
		{
			Scope = 1, //ขอบเขตของคลังพัสดุ
            ReceiveType = 2, //วิธีการรับเข้าคลัง เช่น รับเข้าโดยผ่านกระบวนการพัสดุ, โอนจากหน่วยงานอื่น, บริจาค
			Priority = 3, // In pre purchase request เช่น ปกติ / เร่งด่วน
			DurationType = 4, // In pre purchase request เช่น 
            DurationCount = 5, // In pre purchase request เช่น 
			Progress = 6,
			CommitteeFunction = 7,
			CommitteePosition = 8,
			CommitteeType = 9,
			CollateralCategory = 10, 
			CollateralReturn = 11,
			CollateralType = 12,
            ParcelType = 13,  // ประเภทพัสดุ เช่น วัสดุ, ครุภัณฑ์
            SysProcess = 14,
            ContactGroup = 15,
            ContactStatus = 16,
            VatType = 17,
            AssetStatus = 18,   // สถานะครุภัณฑ์ เช่น ใช้งานได้, ชำรุด, ส่งซ่อม
            MovementType = 19,
            PenaltyRateType = 20,
            RepairStatus = 21,  // สถานะการซ่อมแซมครุภัณฑ์ เช่น ซ่อมแซมเรียบร้อยแล้ว, กำลังซ่อมแซม
            DisposeType = 22,  // ประเภทรายการจำหน่าย เช่น โอน, ทำลาย, จำหน่ายเป็นสูญ, บริจาค
            OfficeSupplyLotStatus = 23   // สถานะของวัสดุ เช่น ใช้งานได้ ใช้งานไม่ได้ สูญหาย
			// Remark: if you're using caption resource file, please add your key to file /Resources/IcmLookUpTypeCaption.resx, 
			// and then use @Html.DisplayNameFor(model => model.MasLookUpType.LookUpTypeName)
		}

		[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
		[DataMember, Display(Name = "LookUpTypeId", ResourceType = typeof (Resources.MasLookUpTypeResource))]
		public int LookUpTypeId { get; set; }

		[DataMember, Display(Name = "LookUpTypeName", ResourceType = typeof (Resources.MasLookUpTypeResource))]
		public string LookUpTypeName { get; set; }

		[DataMember, Display(Name = "Description", ResourceType = typeof (Resources.MasLookUpTypeResource))]
		public string Description { get; set; }

		[DataMember, Display(Name = "RecordStatus", ResourceType = typeof (Resources.MasLookUpTypeResource))]
		public string RecordStatus { get; set; }

		[DataMember, Display(Name = "CreatedBy", ResourceType = typeof (Resources.MasLookUpTypeResource))]
		public int CreatedBy { get; set; }

		[DataMember, Display(Name = "CreatedWhen", ResourceType = typeof (Resources.MasLookUpTypeResource))]
		public DateTime? CreatedWhen { get; set; }

		[DataMember, Display(Name = "UpdatedBy", ResourceType = typeof (Resources.MasLookUpTypeResource))]
		public Nullable<int> UpdatedBy { get; set; }

		[DataMember, Display(Name = "UpdatedWhen", ResourceType = typeof (Resources.MasLookUpTypeResource))]
		public Nullable<DateTime> UpdatedWhen { get; set; }

		
	}
}
